home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 29 / CDT29.iso / e-Mail / WorldClient Pro 2.2.3 / wcsetup.exe / WEBHELP.ZIP / hhapplet / ForAppleList.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-10-21  |  5.4 KB  |  332 lines

  1. package hhapplet;
  2.  
  3. import java.awt.BorderLayout;
  4. import java.awt.Component;
  5. import java.awt.Container;
  6. import java.awt.Dimension;
  7. import java.awt.Event;
  8. import java.awt.LayoutManager;
  9. import java.awt.List;
  10. import java.awt.Panel;
  11. import java.util.Vector;
  12.  
  13. public class ForAppleList extends Panel {
  14.    Vector items;
  15.    int rows;
  16.    int visibleIndex;
  17.    int selected;
  18.    private static final String base = "list";
  19.    private static int nameCounter = 0;
  20.    private LayoutManager m_layout;
  21.    private Panel m_pnlCenter;
  22.    private Panel m_pnlBlank;
  23.    private LayoutManager m_layCenter;
  24.    private OurScrollbar m_sbVert;
  25.    private List m_itemList;
  26.    private IndexPane m_ixPane;
  27.    private boolean m_bScrollChanged;
  28.    protected int m_nTopIndex;
  29.    static final int DEFAULT_VISIBLE_ROWS = 0;
  30.  
  31.    public synchronized String getSelectedItem() {
  32.       int var1 = this.getSelectedIndex();
  33.       return var1 < 0 ? null : this.getItem(var1);
  34.    }
  35.  
  36.    /** @deprecated */
  37.    public int countItems() {
  38.       return this.items.size();
  39.    }
  40.  
  41.    public int getVisibleIndex() {
  42.       return this.visibleIndex;
  43.    }
  44.  
  45.    public void UpdateList() {
  46.       if (this.m_bScrollChanged) {
  47.          this.CalculateRows();
  48.          this.m_itemList.clear();
  49.  
  50.          for(int var1 = this.m_nTopIndex; var1 < this.m_nTopIndex + this.rows; ++var1) {
  51.             if (var1 < this.items.size()) {
  52.                this.m_itemList.addItem((String)this.items.elementAt(var1));
  53.             }
  54.          }
  55.  
  56.          if (this.items.size() > this.rows) {
  57.             this.m_sbVert.enable(true);
  58.             this.m_sbVert.setValues(this.m_sbVert.getValue(), this.rows, 0, this.items.size());
  59.          } else {
  60.             this.m_sbVert.enable(false);
  61.          }
  62.  
  63.          if (this.selected > -1) {
  64.             this.m_itemList.select(this.selected - this.m_nTopIndex);
  65.          }
  66.  
  67.          this.m_bScrollChanged = false;
  68.       }
  69.  
  70.    }
  71.  
  72.    public void select(int var1) {
  73.    }
  74.  
  75.    public int getItemCount() {
  76.       return this.countItems();
  77.    }
  78.  
  79.    public boolean isIndexSelected(int var1) {
  80.       return this.isSelected(var1);
  81.    }
  82.  
  83.    public synchronized void makeVisible(int var1) {
  84.       if (var1 >= 0 && var1 != this.m_nTopIndex) {
  85.          this.m_sbVert.setValue(var1);
  86.          this.m_bScrollChanged = true;
  87.          this.m_nTopIndex = var1;
  88.          this.UpdateList();
  89.       }
  90.  
  91.    }
  92.  
  93.    /** @deprecated */
  94.    public Dimension preferredSize(int var1) {
  95.       Dimension var2 = new Dimension(0, 0);
  96.       return var2;
  97.    }
  98.  
  99.    /** @deprecated */
  100.    public Dimension preferredSize() {
  101.       synchronized(((Component)this).getTreeLock()){}
  102.  
  103.       Dimension var3;
  104.       try {
  105.          if (this.rows <= 0) {
  106.             var3 = super.preferredSize();
  107.             return var3;
  108.          }
  109.  
  110.          var3 = this.preferredSize(this.rows);
  111.       } catch (Throwable var5) {
  112.          throw var5;
  113.       }
  114.  
  115.       return var3;
  116.    }
  117.  
  118.    protected String paramString() {
  119.       return super.paramString() + ",selected=" + this.getSelectedItem();
  120.    }
  121.  
  122.    /** @deprecated */
  123.    public synchronized void delItems(int var1, int var2) {
  124.       for(int var3 = var2; var3 >= var1; --var3) {
  125.          this.items.removeElementAt(var3);
  126.       }
  127.  
  128.    }
  129.  
  130.    public synchronized void remove(String var1) {
  131.       int var2 = this.items.indexOf(var1);
  132.       if (var2 < 0) {
  133.          throw new IllegalArgumentException("item " + var1 + " not found in list");
  134.       } else {
  135.          this.remove(var2);
  136.       }
  137.    }
  138.  
  139.    public void remove(int var1) {
  140.       this.delItem(var1);
  141.    }
  142.  
  143.    public void removeAll() {
  144.       this.clear();
  145.    }
  146.  
  147.    public Object[] getSelectedObjects() {
  148.       return this.getSelectedItems();
  149.    }
  150.  
  151.    public synchronized void deselect(int var1) {
  152.    }
  153.  
  154.    public String getItem(int var1) {
  155.       return this.getItemImpl(var1);
  156.    }
  157.  
  158.    public synchronized void replaceItem(String var1, int var2) {
  159.       this.remove(var2);
  160.       this.addItem(var1, var2);
  161.    }
  162.  
  163.    public ForAppleList(IndexPane var1) {
  164.       this(0, var1);
  165.    }
  166.  
  167.    public ForAppleList(int var1, IndexPane var2) {
  168.       this.items = new Vector();
  169.       this.rows = 0;
  170.       this.visibleIndex = -1;
  171.       this.selected = -1;
  172.       this.m_pnlCenter = new Panel();
  173.       this.m_pnlBlank = new Panel();
  174.       this.m_layCenter = new BorderLayout(-16, 0);
  175.       this.m_sbVert = new OurScrollbar(this, 1);
  176.       this.m_itemList = new List();
  177.       this.m_bScrollChanged = true;
  178.       this.m_nTopIndex = 0;
  179.       this.m_ixPane = var2;
  180.       this.rows = var1 != 0 ? var1 : 0;
  181.       this.m_layout = new BorderLayout(0, 0);
  182.       ((Container)this).setLayout(this.m_layout);
  183.       this.m_pnlCenter.setLayout(this.m_layCenter);
  184.       this.m_pnlBlank.resize(1, 0);
  185.       this.m_pnlCenter.add("East", this.m_pnlBlank);
  186.       this.m_pnlCenter.add("Center", this.m_itemList);
  187.       ((Container)this).add("East", this.m_sbVert);
  188.       ((Container)this).add("Center", this.m_pnlCenter);
  189.       this.m_sbVert.enable(false);
  190.    }
  191.  
  192.    /** @deprecated */
  193.    public boolean isSelected(int var1) {
  194.       return var1 == this.selected;
  195.    }
  196.  
  197.    public boolean mouseUp(Event var1, int var2, int var3) {
  198.       this.UpdateList();
  199.       return super.mouseUp(var1, var2, var3);
  200.    }
  201.  
  202.    /** @deprecated */
  203.    public Dimension minimumSize(int var1) {
  204.       Dimension var2 = new Dimension(0, 0);
  205.       return var2;
  206.    }
  207.  
  208.    /** @deprecated */
  209.    public Dimension minimumSize() {
  210.       synchronized(((Component)this).getTreeLock()){}
  211.  
  212.       Dimension var3;
  213.       try {
  214.          if (this.rows <= 0) {
  215.             var3 = super.minimumSize();
  216.             return var3;
  217.          }
  218.  
  219.          var3 = this.minimumSize(this.rows);
  220.       } catch (Throwable var5) {
  221.          throw var5;
  222.       }
  223.  
  224.       return var3;
  225.    }
  226.  
  227.    final String getItemImpl(int var1) {
  228.       return (String)this.items.elementAt(var1);
  229.    }
  230.  
  231.    /** @deprecated */
  232.    public void addItem(String var1) {
  233.       this.addItem(var1, -1);
  234.    }
  235.  
  236.    public synchronized String[] getItems() {
  237.       String[] var1 = new String[this.items.size()];
  238.       this.items.copyInto(var1);
  239.       return var1;
  240.    }
  241.  
  242.    /** @deprecated */
  243.    public synchronized void addItem(String var1, int var2) {
  244.       if (var2 < -1 || var2 >= this.items.size()) {
  245.          var2 = -1;
  246.       }
  247.  
  248.       if (var2 == -1) {
  249.          this.items.addElement(var1);
  250.       } else {
  251.          this.items.insertElementAt(var1, var2);
  252.       }
  253.    }
  254.  
  255.    /** @deprecated */
  256.    public void delItem(int var1) {
  257.       this.delItems(var1, var1);
  258.    }
  259.  
  260.    public synchronized int getSelectedIndex() {
  261.       return this.selected;
  262.    }
  263.  
  264.    public Dimension getPreferredSize(int var1) {
  265.       return this.preferredSize(var1);
  266.    }
  267.  
  268.    public Dimension getPreferredSize() {
  269.       return this.preferredSize();
  270.    }
  271.  
  272.    /** @deprecated */
  273.    public synchronized void clear() {
  274.       this.items = new Vector();
  275.       this.selected = -1;
  276.       this.m_bScrollChanged = true;
  277.       this.UpdateList();
  278.    }
  279.  
  280.    public Dimension getMinimumSize(int var1) {
  281.       return this.minimumSize(var1);
  282.    }
  283.  
  284.    public Dimension getMinimumSize() {
  285.       return this.minimumSize();
  286.    }
  287.  
  288.    public boolean handleEvent(Event var1) {
  289.       System.out.println("Event = " + var1.toString());
  290.       switch (var1.id) {
  291.          case 601:
  292.          case 602:
  293.          case 603:
  294.          case 604:
  295.             this.m_bScrollChanged = true;
  296.             this.m_nTopIndex = this.m_sbVert.getValue();
  297.             this.UpdateList();
  298.             break;
  299.          case 605:
  300.             this.m_bScrollChanged = true;
  301.             this.m_nTopIndex = this.m_sbVert.getValue();
  302.             break;
  303.          case 701:
  304.             this.selected = this.m_nTopIndex + this.m_itemList.getSelectedIndex();
  305.       }
  306.  
  307.       return super.handleEvent(var1);
  308.    }
  309.  
  310.    public synchronized String[] getSelectedItems() {
  311.       if (this.selected < 0) {
  312.          return null;
  313.       } else {
  314.          String[] var1 = new String[]{this.getItem(this.selected)};
  315.          return var1;
  316.       }
  317.    }
  318.  
  319.    public int getRows() {
  320.       return this.rows;
  321.    }
  322.  
  323.    private void CalculateRows() {
  324.       int var1 = this.m_itemList.size().height;
  325.  
  326.       for(this.rows = 1; this.m_itemList.preferredSize(this.rows).height < var1; ++this.rows) {
  327.       }
  328.  
  329.       this.rows += 3;
  330.    }
  331. }
  332.